package com.lagou.config;

import lombok.Data;
import lombok.ToString;

import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;

/**
 * desc: 定义bean对象
 *
 * @author tengfei wang
 * @version 1.0
 * @date Created in 6/9/2020
 */
@Data
@ToString
public class BeanDefinition {

    /**
     * bean 的名称
     */
    private String beanName;

    /**
     * bean 对象
     */
    private Object beanObject;

    /**
     * bean依赖对象的bean name集合
     */
    private List<String> dependBeanName = new ArrayList<>();

    /**
     * 是否需要注入依赖
     */
    private boolean isAutoWired;

    /**
     * 是否实现接口
     */
    private boolean isHaveParent;

    /**
     * 需要开始事务的方法集合
     */
    private List<Method> transactionMethods = new ArrayList<>();

}
